home *** CD-ROM | disk | FTP | other *** search
/ Leonardo the Inventor / Leonardo The Inventor (93026)(Broderbund)(Riverdeep)(2004).iso / LEOWINMV / INDEX.DIR / 00031_Script_INDEX SCRIPTS < prev    next >
Text File  |  1996-03-14  |  6KB  |  194 lines

  1.  
  2. -- script by Yvette and Tammar 
  3.  
  4. -- ------------------------------------------------------------
  5. -- Handler left return the left of the sprite that was clicked.
  6.  
  7. on left
  8.   return  the left of sprite the clickOn
  9. end
  10.  
  11. -- ------------------------------------------------------------
  12. -- Handler columnWidth returns the width of each column of the
  13. -- sprite that was clicked.
  14.  
  15. on columnWidth numColumns
  16.   return (the width of sprite the clickOn)/numColumns
  17. end
  18.  
  19. -- ------------------------------------------------------------
  20. -- Handler getColumnValue returns the number of column was clicked.
  21.  
  22. on getColumnValue H,L,numColumns
  23.   return  (H-L)/columnWidth(numColumns)
  24. end
  25.  
  26. -- ------------------------------------------------------------
  27. -- Handler top returns the top of the sprite that was clicked.
  28.  
  29. on top
  30.   return the top of sprite the clickOn
  31. end
  32.  
  33. -- ------------------------------------------------------------
  34. -- Handler rowHeight returns the height of each row of the
  35. -- sprite that was clicked.
  36.  
  37. on rowHeight numRows
  38.   return (the height of sprite the clickOn)/numRows
  39. end
  40.  
  41. -- ------------------------------------------------------------
  42. -- Handler getRowValue returns the number of row was clicked.
  43.  
  44. on getRowValue V,top,numRows
  45.   return  (V-top)/rowHeight(numRows)  
  46. end
  47.  
  48. -- ------------------------------------------------------------
  49. -- Handler getSerial returns the number of box in the grid that
  50. -- was clicked.
  51.  
  52. on getSerial column,row,numColumns 
  53.   return numColumns*row+column
  54. end
  55.  
  56. -- ------------------------------------------------------------
  57. -- Handler IndexToMovie goes to the movie of the box in the 
  58. -- grid that was clicked.
  59.  
  60. on IndexToMovie Horiz,V,numColumns,numRows,dataName,frameExtension,transition
  61.   set column=getcolumnValue(Horiz,left(),numColumns)
  62.   set row=getrowValue(V,top(),numRows)
  63.   
  64.   -- get the number of the box in the grid that was clicked.
  65.   set aserial=getserial(column,row,numColumns) +1
  66.   
  67.   -- get the name of the invention in the box 
  68.   set inventionName=line aserial of the text of cast dataName
  69.   
  70.   if (inventionName <> "") then
  71.     -- they clicked on a button and not on empty space
  72.     HiliteIndexChoice column,Row,numColumns,numRows
  73.     set amovie=getInventionMovieName(inventionName)
  74.     set aFrame=inventionName & frameExtension
  75.     
  76.     -- set the currentInvention so handlers like goMenu etc
  77.     -- will work in the next movie.
  78.     global currentInvention
  79.     set currentInvention = inventionName
  80.     
  81.     global MPEGVersion
  82.     
  83.     if (MPEGVersion = TRUE) and (frameExtension = " time") and existsMPEGForInvention(currentInvention) then
  84.       goMPegTime
  85.     else if (frameExtension <> "") then
  86.       if (transition <> "") then do transition
  87.       go frame aFrame of movie aMovie
  88.     else
  89.       if (transition <> "") then do transition
  90.       go movie aMovie
  91.     end if
  92.   end if
  93. end
  94.  
  95. -- Additional script by ET
  96.  
  97. -- ------------------------------------------------------------
  98. -- Handler startMovie goes to the last visited page of the index
  99. -- (if returning to the index).
  100.  
  101. on startMovie
  102.   global indexHiliteSprite
  103.   
  104.   setAuxiliarySearch
  105.   set indexHiliteSprite = 13
  106.   stopPlayingLoadingSound
  107.   
  108.   global lastIndexPage
  109.   if lastIndexPage = 0 then set lastIndexPage = 1
  110.   if not integerP(lastIndexPage) then set lastIndexPage = integer(1)
  111.   go frame lastIndexPage
  112. end
  113.  
  114. -- ------------------------------------------------------------
  115. -- Handler setIndexPage sets the global variable lastIndexPage
  116. -- to the current frame.
  117.  
  118. on setIndexPage
  119.   global lastIndexPage
  120.   
  121.   set lastIndexPage = value(the frame)
  122. end
  123.  
  124. -- ------------------------------------------------------------
  125. -- Handler getGridSquareCenter 
  126.  
  127. on getGridSquareCenter Pixels, NumSquares, Square
  128.   set SquareSize = Pixels / NumSquares 
  129.   return (Square * SquareSize - (SquareSize / 2))
  130. end
  131.  
  132. -- ------------------------------------------------------------
  133. -- Handler hideIndexHilite removes the previously hilited button. ???
  134.  
  135. on hideIndexhilite
  136.   global indexHiliteSprite
  137.   
  138.   puppetSprite indexHiliteSprite, false
  139.   updateStage
  140. end
  141.  
  142. -- ------------------------------------------------------------
  143. -- Handler positionIndexHilite hilites the clicked button
  144.  
  145. on positionIndexHilite H, V
  146.   global indexHiliteSprite
  147.   
  148.   puppetSprite indexHiliteSprite, false
  149.   set the locH of sprite indexHiliteSprite = H
  150.   set the locV of sprite indexHiliteSprite = V
  151.   updateStage
  152. end
  153.  
  154. -- ------------------------------------------------------------
  155. -- Handler hiliteIndexChoice calls positionIndexHilite to hilite
  156. -- the clicked button
  157.  
  158. on HiliteIndexChoice Col,Row,numColumns,numRows
  159.   put the ClickOn into gridSprite
  160.   
  161.   sound close  2
  162.   
  163.   set H = getGridSquareCenter (the width of sprite gridSprite, numColumns, Col+1)
  164.   set V = getGridSquareCenter (the height of sprite gridSprite, numRows, Row+1)
  165.   put H + the left of sprite gridSprite into H
  166.   put V + the top of sprite gridSprite into V
  167.   
  168.   positionIndexHilite H, V
  169. end
  170.  
  171. -- ------------------------------------------------------------
  172. -- Handler returnFromIndex returns to the last visited frame of
  173. -- the index
  174.  
  175. on returnFromIndex
  176.   global indexReturn
  177.   
  178.   if (indexReturn = "") or (not stringP(indexReturn)) then
  179.     set indexReturn = "frame" && quote & "Contents" & quote && "of movie" && quote & "Leonardo" & quote
  180.   end if
  181.   
  182.   do "go" && indexReturn
  183. end
  184.  
  185. --on transitionToWords
  186. --  if the machineType =256 then
  187. --    puppetTransition 9, 2, 4
  188. --  else
  189. --    puppetTransition 51, 2, 4
  190. --  end if
  191. --end transitionToWords
  192.  
  193.  
  194.